/**
* Created with CLion.
* User:Lenovo
* Date:2023-04-19
* Time:12:40
* Description:单链表
*/
#ifndef AWA_SLIST_H
#define AWA_SLIST_H

#include <stdio.h>
#include <stdlib.h>
#include <assert.h>

typedef int SLTDataType;

typedef struct SListNode
{
    SLTDataType data;
    struct SListNode *next;
}SLTNode;

void SLTPrint(SLTNode *);
void SLPushFront(SLTNode **, SLTDataType);
void SLPushBack(SLTNode **, SLTDataType);
void SLPopFront(SLTNode **);
void SLPopBack(SLTNode **);
SLTNode *STFind(SLTNode *, SLTDataType);
void SLInsert(SLTNode **, SLTNode *pos, SLTDataType);//在 pos 之前插入
void SLInsertAfter(SLTNode *pos, SLTDataType);//后插
void SLErase(SLTNode **, SLTNode *pos);//删除 pos 位置的值
void SLEraseAfter(SLTNode *pos);//删除 pos 后面位置的值
void SLDestroy(SLTNode **);

#endif //AWA_SLIST_H
